var shoeObj={
    list:[],
    listen:function (fn) {
        this.list.push(fn);
    },
    trigger:function (...param) {
        for(var i=0,fn;fn=this.list[i++];){
            fn.apply(this,param);
        }
    }
};

shoeObj.listen(function (color, size) {
    console.log("颜色是："+color);
    console.log("尺寸是："+size);
});

shoeObj.listen(function (color, size) {
    console.log("再次颜色是："+color);
    console.log("再次尺寸是："+size);
});

shoeObj.trigger("红色",40);
shoeObj.trigger("黑色",42);